package com.kaifamiao.mybatis.basics.mapper;

import com.kaifamiao.mybatis.basics.entity.Student;

import java.util.List;

public interface StudentMapper {

    /**
     * 将学生对象所包含的数据保存到数据库中
     * @param student 被保存的学生对象
     * @return 保存成功后返回受影响的记录数目
     */
    int save( Student student );

    /**
     * 根据 id 查询数据库并返回与该记录对应的 Student 对象
     * @param id 即将查询的学生 id
     * @return 返回指定id对应的 Student 对象
     */
    Student find( Integer id );

    /**
     * 查询数据库表中所有学生信息
     * @return 返回数据库中所有学生信息组成的列表
     */
    List<Student> findAll();

    /**
     * 根据参数对应的Student实例更新数据库中指定记录
     * @param student 需要更新的Student实例
     * @return 更新成功后返回受影响的记录数目
     */
    int update( Student student );

    /**
     * 根据学生编号删除学生信息
     * @param id 待删除的学生的编号
     * @return 删除成功后返回受影响的记录数目
     */
    int delete( Integer id );

}
